home *** CD-ROM | disk | FTP | other *** search
-
-
-
- OOOO((((3333)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) OOOO((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- O - Generic interface to Perl Compiler backends
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- perl -MO=Backend[,OPTIONS] foo.pl
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This is the module that is used as a frontend to the Perl
- Compiler.
-
- CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNNSSSS
- Most compiler backends use the following conventions:
- OPTIONS consists of a comma-separated list of words (no
- white-space). The -v option usually puts the backend into
- verbose mode. The -ofile option generates output to ffffiiiilllleeee
- instead of stdout. The -D option followed by various letters
- turns on various internal debugging flags. See the
- documentation for the desired backend (named B::Backend for
- the example above) to find out about that backend.
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- This section is only necessary for those who want to write a
- compiler backend module that can be used via this module.
-
- The command-line mentioned in the SYNOPSIS section
- corresponds to the Perl code
-
- use O ("Backend", OPTIONS);
-
- The import function which that calls loads in the
- appropriate B::Backend module and calls the compile function
- in that package, passing it OPTIONS. That function is
- expected to return a sub reference which we'll call
- CALLBACK. Next, the "compile-only" flag is switched on
- (equivalent to the command-line option -c) and an END block
- is registered which calls CALLBACK. Thus the main Perl
- program mentioned on the command-line is read in, parsed and
- compiled into internal syntax tree form. Since the -c flag
- is set, the program does not start running (excepting BEGIN
- blocks of course) but the CALLBACK function registered by
- the compiler backend is called.
-
- In summary, a compiler backend module should be called
- "B::Foo" for some foo and live in the appropriate directory
- for that name. It should define a function called compile.
- When the user types
-
- perl -MO=Foo,OPTIONS foo.pl
-
- that function is called and is passed those OPTIONS (split
- on commas). It should return a sub ref to the main
-
-
-
- Page 1 (printed 10/23/98)
-
-
-
-
-
-
- OOOO((((3333)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) OOOO((((3333))))
-
-
-
- compilation function. After the user's program is loaded
- and parsed, that returned sub ref is invoked which can then
- go ahead and do the compilation, usually by making use of
- the B module's functionality.
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Malcolm Beattie, mbeattie@sable.ox.ac.uk
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 2 (printed 10/23/98)
-
-
-
-